// pages/user/user_auth.js
import { User } from "../../model/user";
import { config } from "../../config/config";
import { Auth } from "../../model/auth";
Page({
  /**
   * 页面的初始数据
   */
  data: {
    userInfo: null,
    status: 1,
    just_img: null,
    back_img: null,
    btn_loading: false,
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    wx.showLoading({
      title: '加载中',
    });
    this.getUserInfo();
  },
  /**
   * 获取用户信息
   */
  async getUserInfo() {
    const res = await User.getUserInfo();
    if(res.auth_real) {
      this.setData({
        status: res.auth_real.status,
        just_img: res.auth_real.just_img,
        back_img: res.auth_real.back_img,
      });
    }
    this.setData({
      userInfo: res
    });
    wx.hideLoading();
  },
  /**
   * 上传图片
   */
  chooseImg(e) {
    if(this.data.status == 2) {
        return false;
    }
    wx.showLoading({
      title: '加载中',
    });
    const id = e.currentTarget.dataset.id;
    const self = this;
    wx.chooseImage({
      count: 1,
      sizeType: ['original', 'compressed'],
      sourceType: ['album', 'camera'],
      success (res) {
        wx.uploadFile({
          url: config.apiFileUrl, // 仅为示例，非真实的接口地址
          filePath: res.tempFilePaths[0],
          name: 'file',
          success(res) {
            const fileData = JSON.parse(res.data);
            if(id == 1) {
              self.imgUpdateWord(1,fileData[0].id);
            } else {
              self.imgUpdateWord(2,fileData[0].id);
            }
          },
        });
      }
    })
  },
  /**
   * 更换状态
   */
  changeUserAuth() {
    this.setData({
        status: 1,
    })
  },
  /**
   * 创建信息
   */
  async createUserAuth() {
    if(!this.data.just_img) {
        wx.showToast({
          title: '请上传身份证正面照片',
          icon: 'none',
          duration: 2000
        })
        return false;
    }
    if(!this.data.back_img) {
      wx.showToast({
        title: '请上传身份证反面照片',
        icon: 'none',
        duration: 2000
      })
      return false;
    }
    this.setData({
      btn_loading: true
    })
    const res = await Auth.createUserAuth({just_img_id: this.data.just_img.id, back_img_id: this.data.back_img.id});
    if(res) {
      wx.showToast({
        title: res.msg,
        icon: 'none',
        duration: 2000
      })
    }
    this.getUserInfo();
    this.setData({
      btn_loading: false
    })
  },
  /**
   * 判断图片正反面
   */
  async imgUpdateWord(status, img_id) {
      const res = await Auth.imgUpdateWord({
        status: status,
        img_id: img_id,
      })
    if(res) {
      if(status == 1) {
        this.setData({
          just_img: res
        });
      } else {
        this.setData({
          back_img: res
        });
      }
    }
    wx.hideLoading();
  }
})